package firstcontent.g1;

/**
 * @Author: fxy
 * @Date: 2022/03/02/14:05
 * @Description: G1回收器的特点
 * 1、并发和并行
 * 2、分代收集
 * 3、空间整合
 * 4、可预测的停顿时间模型
 * <p>
 * 由于分区的原因，G1可以只选取部分区域进行内存回收
 * <p>
 * 从经验上来说，在小内存应用上CMS的表现大概率会优于G1,而G1在大内存应用上则发挥优势。平衡点在6-8GB之间
 * <p>
 * HotSpot垃圾收集器里，除了G1以外，其他的垃圾收集器使用内置的JVM线程执行GC的多线程操作
 * G1 GC可以采用应用线程承担后台运行的GC工作，即当JVM的GC线程处理速度慢时，系统会调用应用
 * 程序线程帮助加速垃圾回收过程
 * -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=2m  -XX:G1NewSizePercent=5  -XX:G1MaxNewSizePercent=80
-Xms4g -Xmx4g
 *
 *
 * -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -Xms4g -Xmx4g -XX:MaxGCPauseMillis=10 -XX:G1NewSizePercent=5  -XX:G1MaxNewSizePercent=20
       -XX:ParallelGCThreads=8
      -XX:ConcGCThreads=2
      -XX:+ExplicitGCInvokesConcurrent
      -XX:G1HeapRegionSize=4m
    -XX:+ParallelRefProcEnabled
 */
public class G1Test {
    public static void main(String[] args) {
        long l = System.currentTimeMillis();
        for (int i = 0; i < 300000; i++) {
            byte[] bytes = new byte[1024 * 1024 * 2];

        }
        System.out.println(System.currentTimeMillis()-l);
    }
}
